package cn.appsys.dao.front.appinfo;

import java.util.List;


import org.apache.ibatis.annotations.Param;


import cn.appsys.pojo.AppInfo;
/**
 * 查询app基础信息访问数据接口
 * @author administrader
 *
 */
public interface FrontAppinfoMapper {
	
	
	/**
	 * 分页查询APP列表信息
	 * @param querySoftwareName  软件名称
	 * @param queryStatus app状态
	 * @param queryFlatformId 所属平台
	 * @param queryCategoryLevel1 一级分类
	 * @param queryCategoryLevel2 二级分类
	 * @param queryCategoryLevel3 三级分类
	 * @param from 起始位置偏移量
	 * @param pageSize 页面大小
	 * @return
	 */
	List<AppInfo> queryAppPageInfo(
			@Param("querySoftwareName")String querySoftwareName,
			@Param("queryStatus")Integer queryStatus,
			@Param("queryFlatformId")Integer queryFlatformId,
			@Param("queryCategoryLevel1")Integer queryCategoryLevel1,
			@Param("queryCategoryLevel2")Integer queryCategoryLevel2,
			@Param("queryCategoryLevel3")Integer queryCategoryLevel3,
			@Param("from") Integer from,   //位置偏移量
			@Param("pageSize") Integer pageSize);
	
	
	/**
	 * 查询总记录数
	  * @param querySoftwareName  软件名称
	 * @param queryStatus app状态
	 * @param queryFlatformId 所属平台
	 * @param queryCategoryLevel1 一级分类
	 * @param queryCategoryLevel2 二级分类
	 * @param queryCategoryLevel3 三级分类
	 * @return
	 */
	int queryCount(@Param("querySoftwareName")String querySoftwareName,
			@Param("queryStatus")Integer queryStatus,
			@Param("queryFlatformId")Integer queryFlatformId,
			@Param("queryCategoryLevel1")Integer queryCategoryLevel1,
			@Param("queryCategoryLevel2")Integer queryCategoryLevel2,
			@Param("queryCategoryLevel3")Integer queryCategoryLevel3);
	
	/**
	 * 根据app名称和apk名称查询是否有存在数据
	 * @param softwareName
	 * @param APKName
	 * @return
	 */
	AppInfo queryAppInfoNameAndApk(@Param("softwareName")String softwareName,
									@Param("APKName")String APKName);
	
	
	/**
	 * 新增appInfo信息
	 * @param appInfo
	 * @return
	 */
	int addAppInfo(AppInfo appInfo);
	
	
	/**
	 * 删除appinfo信息
	 * @param id
	 * @return
	 */
	int delAppInfo(@Param("id") Integer id);
	
	
	/**
	 * 查询应用信息
	 * @param id
	 * @return
	 */
	AppInfo queryInfoByIdAndAPK(@Param("id") Integer id);
	
	/**
	 * 根据id把图片路径给修改掉
	 * @param id
	 * @return
	 */
	int updateLogoPathById(@Param("id") Integer id);
	
	
	/**
	 * 修改appinfo 整体信息
	 * @param appinfo
	 * @return
	 */
	int updateAppinfo(AppInfo appinfo);
	
	
	/**
	 * 删除appinfo信息
	 * @param id
	 * @return
	 */
	int delAppinfo(@Param("id")Integer id);
}
